<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>BonoboMoniker</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="Libbonobo Reference Manual">
<link rel="up" href="monikers.html" title="Monikers">
<link rel="prev" href="monikers-overview.html" title="Monikers in the Bonobo Component System">
<link rel="next" href="libbonobo-bonobo-moniker-simple.html" title="BonoboMonikerSimple">
<meta name="generator" content="GTK-Doc V1.15.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="monikers-overview.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="monikers.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">Libbonobo Reference Manual</th>
<td><a accesskey="n" href="libbonobo-bonobo-moniker-simple.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libbonobo-bonobo-moniker.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#libbonobo-bonobo-moniker.description" class="shortcut">Description</a>
                   | 
                  <a href="#libbonobo-bonobo-moniker.object-hierarchy" class="shortcut">Object Hierarchy</a>
</td></tr>
</table>
<div class="refentry">
<a name="libbonobo-bonobo-moniker"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libbonobo-bonobo-moniker.top_of_page"></a>BonoboMoniker</span></h2>
<p>BonoboMoniker — The base implementation of our abstract object naming space</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="libbonobo-bonobo-moniker.synopsis"></a><h2>Synopsis</h2>
<a name="BonoboMoniker"></a><pre class="synopsis">                    <a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker-struct" title="BonoboMoniker">BonoboMoniker</a>;
                    <a class="link" href="libbonobo-bonobo-moniker.html#BonoboMonikerClass" title="BonoboMonikerClass">BonoboMonikerClass</a>;
<a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="returnvalue">BonoboMoniker</span></a> *     <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-construct" title="bonobo_moniker_construct ()">bonobo_moniker_construct</a>            (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *prefix</code></em>);
<span class="returnvalue">Bonobo_Moniker</span>      <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-get-parent" title="bonobo_moniker_get_parent ()">bonobo_moniker_get_parent</a>           (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-set-parent" title="bonobo_moniker_set_parent ()">bonobo_moniker_set_parent</a>           (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">Bonobo_Moniker</span> parent</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-get-name" title="bonobo_moniker_get_name ()">bonobo_moniker_get_name</a>             (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-get-name-full" title="bonobo_moniker_get_name_full ()">bonobo_moniker_get_name_full</a>        (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);
<span class="returnvalue">char</span> *              <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-get-name-escaped" title="bonobo_moniker_get_name_escaped ()">bonobo_moniker_get_name_escaped</a>     (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-set-name" title="bonobo_moniker_set_name ()">bonobo_moniker_set_name</a>             (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-get-prefix" title="bonobo_moniker_get_prefix ()">bonobo_moniker_get_prefix</a>           (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-set-case-sensitive" title="bonobo_moniker_set_case_sensitive ()">bonobo_moniker_set_case_sensitive</a>   (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> sensitive</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libbonobo-bonobo-moniker.html#bonobo-moniker-get-case-sensitive" title="bonobo_moniker_get_case_sensitive ()">bonobo_moniker_get_case_sensitive</a>   (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="libbonobo-bonobo-moniker.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----<a class="link" href="libbonobo-bonobo-object.html#BonoboObject">BonoboObject</a>
         +----BonoboMoniker
               +----<a class="link" href="libbonobo-bonobo-moniker-simple.html#BonoboMonikerSimple">BonoboMonikerSimple</a>
</pre>
</div>
<div class="refsect1">
<a name="libbonobo-bonobo-moniker.description"></a><h2>Description</h2>
<p>
Monikers are used to name objects, they effectively implement
an object naming space.   You can obtain monikers either because
you created the moniker manually, or from a stringified
representation of a moniker.
</p>
<p>
For more information see bonobo/doc/Monikers, relatively few
people want to implement monikers, mostly they just want to
use them. To do this you need the <span class="type">bonobo-moniker-util</span> API.
</p>
<p>
To implement your own moniker, it is most likely that you want
to use <a class="link" href="libbonobo-bonobo-moniker-simple.html#BonoboMonikerSimple"><span class="type">BonoboMonikerSimple</span></a>, BonoboMoniker is a mostly abstract
base class that in some obscure cases might provide a more
powerful feature set. Most people use <a class="link" href="libbonobo-bonobo-moniker-simple.html#BonoboMonikerSimple"><span class="type">BonoboMonikerSimple</span></a>.
</p>
</div>
<div class="refsect1">
<a name="libbonobo-bonobo-moniker.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="BonoboMoniker-struct"></a><h3>BonoboMoniker</h3>
<pre class="programlisting">typedef struct _BonoboMoniker BonoboMoniker;</pre>
<p>
Implements Bonobo::Moniker
</p>
</div>
<hr>
<div class="refsect2">
<a name="BonoboMonikerClass"></a><h3>BonoboMonikerClass</h3>
<pre class="programlisting">typedef struct {
	BonoboObjectClass      parent_class;

	POA_Bonobo_Moniker__epv epv;

	/* virtual methods */
	Bonobo_Unknown (*resolve)            (BonoboMoniker               *moniker,
					      const Bonobo_ResolveOptions *options,
					      const CORBA_char            *requested_interface,
					      CORBA_Environment           *ev);

	void           (*set_internal_name)  (BonoboMoniker               *moniker,
					      const char                  *unescaped_name);
	const char    *(*get_internal_name)  (BonoboMoniker               *moniker);

	gpointer        dummy;
} BonoboMonikerClass;
</pre>
<p>
BonoboMoniker's class
</p>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-construct"></a><h3>bonobo_moniker_construct ()</h3>
<pre class="programlisting"><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="returnvalue">BonoboMoniker</span></a> *     bonobo_moniker_construct            (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *prefix</code></em>);</pre>
<p>
Constructs a newly created bonobo moniker with the given arguments.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>an un-constructed moniker object.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prefix</code></em> :</span></p></td>
<td>the prefix name of the moniker eg. 'file:', '!' or 'tar:' or NULL
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the constructed moniker or NULL on failure.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-get-parent"></a><h3>bonobo_moniker_get_parent ()</h3>
<pre class="programlisting"><span class="returnvalue">Bonobo_Moniker</span>      bonobo_moniker_get_parent           (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);</pre>
<p>
See bonobo_moniker_set_parent;
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the moniker
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>opt_ev</code></em> :</span></p></td>
<td>an optional corba exception environment
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the parent of this moniker
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-set-parent"></a><h3>bonobo_moniker_set_parent ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_moniker_set_parent           (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">Bonobo_Moniker</span> parent</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);</pre>
<p>
This sets the monikers parent; a moniker is really a long chain
of hierarchical monikers; referenced by the most local moniker.
This sets the parent pointer.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the moniker
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
<td>the parent
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>opt_ev</code></em> :</span></p></td>
<td>an optional corba exception environment
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-get-name"></a><h3>bonobo_moniker_get_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        bonobo_moniker_get_name             (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);</pre>
<p>
gets the unescaped name of the moniker less the prefix eg
file:/tmp/hash#.gz returns /tmp/hash<span class="type">.gz</span>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the moniker
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the string or NULL in case of failure
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-get-name-full"></a><h3>bonobo_moniker_get_name_full ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        bonobo_moniker_get_name_full        (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);</pre>
<p>
gets the full unescaped name of the moniker eg.
file:/tmp/hash#.gz returns file:/tmp/hash<span class="type">.gz</span>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the moniker
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the string in case of failure
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-get-name-escaped"></a><h3>bonobo_moniker_get_name_escaped ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              bonobo_moniker_get_name_escaped     (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);</pre>
<p>
Get the full, escaped name of the moniker eg.
file:/tmp/hash#.gz returns file:/tmp/hash#.gz
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>a moniker
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the dynamically allocated string,
or NULL in case of failure.
Must release with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-set-name"></a><h3>bonobo_moniker_set_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_moniker_set_name             (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
<p>
This functions sets the moniker name in <em class="parameter"><code>moniker</code></em> to be <em class="parameter"><code>name</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the BonoboMoniker to configure.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>new, unescaped, name for this moniker.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-get-prefix"></a><h3>bonobo_moniker_get_prefix ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        bonobo_moniker_get_prefix           (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);</pre>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>a moniker
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the registered prefix for this moniker or
NULL if there isn't one. eg "file:", or in case of failure
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-set-case-sensitive"></a><h3>bonobo_moniker_set_case_sensitive ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_moniker_set_case_sensitive   (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> sensitive</code></em>);</pre>
<p>
Sets up whether we use case sensitivity for the default equal impl.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the moniker
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>sensitive</code></em> :</span></p></td>
<td>whether to see case on equality compare
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-get-case-sensitive"></a><h3>bonobo_moniker_get_case_sensitive ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            bonobo_moniker_get_case_sensitive   (<em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker.html#BonoboMoniker"><span class="type">BonoboMoniker</span></a> *moniker</code></em>);</pre>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the moniker
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> whether we use case sensitivity for the default equal impl.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="libbonobo-bonobo-moniker.see-also"></a><h2>See Also</h2>
<p>
<span class="type">bonobo-moniker-util</span> <a class="link" href="libbonobo-bonobo-moniker-simple.html#BonoboMonikerSimple"><span class="type">BonoboMonikerSimple</span></a>
</p>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15.1</div>
</body>
</html>